package com.tbit.uqbike.client.service.ordertrace;

import com.tbit.uqbike.client.dto.EventPutDTO;
import com.tbit.uqbike.client.dto.EventReportDTO;
import com.tbit.uqbike.client.dto.OrderTraceIdApplyDTO;
import org.springframework.validation.annotation.Validated;

import javax.validation.Valid;

/**
 * 订单跟踪服务
 *
 *
 * @author <a href="mailto:chen.chaoxiong@tbit.com.cn">ChenChaoXiong</a>
 * @since 2024/7/2
 */
@Validated
public interface OrderTraceService {

    String applyOrderTraceId(@Valid OrderTraceIdApplyDTO apply);


    void reportEvent(@Valid EventReportDTO eventReport);

    boolean handleWithTransaction(EventReportDTO eventReportDTO);


    void putEvent(EventPutDTO eventPutDTO);
}
